home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
501-525
/
disk_510
/
atcopy
/
janus
/
janus.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
3KB
|
68 lines
/***********************************
* *
* Janus.h aus Amiga INTERN *
* *
***********************************/
#ifndef JANUS
#define JANUS
#define RPTR SHORT
#include <SetupSig.h>
#include <Services.h>
struct JanusRemember
{
RPTR NextRemember;
RPTR Offset;
USHORT Size;
USHORT Type;
};
#define MEM_TYPEMASK 0x00FF
#define MEMF_PARAMETER 1
#define MEMF_BUFFER 2
#define MEM_ACCESSMASK 0x3000
#define MEM_BYTEACCESS 0x0000
#define MEM_WORDACCESS 0x1000
#define MEM_GRAPHICACCESS 0x2000
#define MEM_IOACCESS 0x3000
extern SHORT AddService(struct ServiceData **data, ULONG appID, USHORT locID, USHORT size, USHORT type, SHORT sigNr, USHORT flags);
extern void CallService(struct ServiceData *data);
extern void DeleteService(struct ServiceData *data);
extern SHORT GetService(struct ServiceData **data, ULONG appID, USHORT locID, SHORT sigNr, USHORT flags);
extern void ReleaseService(struct ServiceData *data);
extern void UnlockServiceData(struct ServiceData *data);
extern void LockServiceData(struct ServiceData *data);
extern APTR AllocJanusMem(ULONG size, ULONG type);
extern APTR AllocJRemember(struct JanusRemember **jrememberkey, USHORT size, USHORT type);
extern APTR AllocServiceMem(struct ServiceData *data, USHORT size, USHORT type);
extern void AttachRemember(struct JanusRemember **tokey, struct JanusRemember **fromkey);
extern void FreeJanusMem(APTR ptr, ULONG size);
extern void FreeJRemember(struct JanusRemember **jrememberkey, BOOL reallyforget);
extern void FreeServiceMem(struct ServiceData *data, APTR ptr);
extern APTR GetJanusStart(void);
extern APTR JanusMemBase(ULONG type);
extern USHORT JanusMemToOffset(APTR ptr);
extern ULONG JanusMemType(APTR ptr);
extern APTR JanusOffsetToMem(USHORT offset, USHORT type);
extern void JBCopy(APTR source, APTR dest, ULONG len);
extern void JanusLock(UBYTE *byteptr);
extern BOOL JanusLockAttempt(UBYTE *byteptr);
extern void JanusUnlock(UBYTE *byteptr);
extern BYTE * MakeBytePtr(APTR ptr);
extern BYTE * MakeWordPtr(APTR ptr);
extern APTR TranslateJanusPtr(APTR ptr, USHORT type);
extern ULONG CheckJanusInt(ULONG janusintnr);
extern void CleanupJanusSig(struct SetupSig *setupsig);
extern SHORT GetParamOffset(ULONG janusintnr);
extern void SendJanusInt(ULONG janusintnr);
extern ULONG SetJanusEnable(ULONG janusintnr, ULONG enable);
extern APTR SetJanusHandler(ULONG janusintnr, APTR inthandler);
extern ULONG SetJanusRequest(ULONG janusintnr, ULONG request);
extern USHORT SetParamOffset(ULONG janusintnr, USHORT offset);
extern struct SetupSig * SetupJanusSig(USHORT janusintnr, USHORT signr, ULONG size, ULONG type);
#endif